package com.xbongbong.pro.competitor.pojo.dto;

import com.xbongbong.paas.pojo.FieldAttrEntityForDecisionInfo;
import com.xbongbong.paas.pojo.dto.FormEntityUpdateDTO;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
import java.util.Set;

/**
 * @author: yingjf
 * @date: 2022/8/17 14:09
 * @description:竞争对手分析表单解释保存
 */
@Getter
@Setter
@ToString
public class CompetitorAnalysisFormSaveDTO extends BaseDTO {

    /**
     * 应用id
     */
    @NotNull(message = "{dto.msg.formUpdate.appId.NotNull}")
    private Long appId;
    /**
     * 表单id
     */
    @NotNull(message = "{dto.msg.formUpdate.formId.NotNull}")
    private Long formId;

    /**
     * 表单id
     */
    @NotNull(message = "{dto.msg.formUpdate.formExplainId.NotNull}")
    private Long formExplainId;

    @Valid
    @NotNull(message = "{dto.msg.formUpdate.formAttr.NotNull}")
    private FormEntityUpdateDTO formAttr;

    /**
     * 表单字段描述信息
     */
    @Valid
    @Size(max = 170, message = "{dto.msg.formUpdate.explainList.Size}")
    private List<FieldAttrEntityForDecisionInfo> explainList;

    /**
     * 业务类型
     */
    @NotNull(message = "{dto.msg.common.businessType.NotNull}")
    private Integer businessType;

    /**
     * 字段回收站attr
     */
    private Set<String> trashList;
}
